package com.ktjy.pojo.dao;



import com.ktjy.pojo.entity.TOrder;
import com.ktjy.pojo.entity.TOrderDetail;

import java.util.List;

/** 订单模块的DAO接口
 * @version v1.0
 * @Author 郴州科泰
 * @Create 2024-08-07 - 19:22
 */
public interface OrderMapper {

    /**
     * 下单
     * @param order 订单对象
     * @return 返回新增成功后的主键值
     */
    int saveOrder(TOrder order);

    // 新增订单详情
   public int saveOrderDetail(TOrderDetail detail);

    /**
     * 通过订单id查询详情详情
     * @param id 订单id
     * @return 返回订单详情信息
     */
    TOrder findById(int id);

    /**
     * 通过订单id到t_order_detail表中查询此详情的详情信息。
     * @param orderId 订单id
     */
    List<TOrderDetail> findByOrderId(int orderId);

    /**
     * 根据订单状态查询订单总数
     * @param orderState 订单状态
     */
    int getCount(int userId, int orderState);

    /**
     * 按订单状态分页查询订单列表数据
     * @param from 起始位置偏移量
     * @param pageSeize 每页显示的数据行数
     * @param orderState 订单状态
     */
    List<TOrder> getOrderListPage(Integer from, Integer pageSeize, int userId, int orderState);

    // 更新订单状态
    int updatePayStatus(TOrder orderInfo);
}
